1. Technical Field
The present invention relates in general to a method and apparatus for improving reliability in a computer system and in particular, to an improved method and apparatus which allows a computer system to remain in operation when an oscillator providing a signal for generating a system clock signal fails. Still more particularly, the present invention relates to an improved method and apparatus which allows a computer system to continue operating when one oscillator fails by providing a system for switching from one oscillator to a second oscillator without affecting system operation.
2. Description of the Related Art
Generally, computer systems require very precise clock signals derived from fixed frequency oscillators, such as crystal oscillators, to drive synchronous logic gates. These crystal oscillators provide output signals, which are very stable in frequency, that may be utilized by a clock generation circuit to produce a clock signal. Although crystal oscillators are frequency stable, they are generally not very reliable. Often times, a crystal oscillator will fail before failure of the other components utilized to generate the clock signal.
In computer systems which contain only a single crystal oscillator utilized to provide clock operations in a microprocessor, the failure of that oscillator will result in a shut down of the computer system. Such a failure requires servicing of the computer system to replace the crystal oscillator. Until the crystal oscillator is replaced, however, the computer system may be unusable. Additionally, calculations being performed when such a failure occurs may be lost or may contain errors. This situation is unacceptable in many cases where a sudden and unexpected failure of the computer system may result in an inability of the system to complete processing tasks or in a loss of data.
Some systems have been developed which include a primary oscillator and one or more back-up oscillators that are utilized in the event that the primary oscillator fails. These types of systems provide for switching from an oscillator that has failed to one that is functioning in the event of a failure, reducing the amount of time that a computer system is out of operation. In certain systems, the switching from one oscillator to another oscillator occurs automatically. Problems, which involve the prevention of interruptions in a computer system when the primary oscillator fails, still exist in these systems.
Although crystal oscillators may be carefully selected such that all of the oscillators utilized are closely matched in frequency, it is still very difficult to exactly match frequencies in a manner such that the signals provided by two crystal oscillators will not slip or move out of phase relative to each other. As a result, the output signals from the crystal oscillators may be out of phase when a switch occurs between the oscillators, causing the clock signal to become unstable for a short period of time. Switching from one crystal oscillator to another crystal oscillator may interrupt operations or calculations running on the computer system and may cause errors if the input into a clock generation circuit does not remain constant during the switching of the input from one crystal oscillator to a second crystal oscillator.
Therefore it would be desirable to have a method and apparatus to improve the reliability of computer systems by providing a switching system, which allows a computer to remain operating without interrupts or errors when a fixed frequency oscillator fails.